loe-coe-design-notes
TODO: This needs to be differentiated between the loe-coe for main breaks and CCTV Streamlit app. Discuss with Jake.
loe-coe Design Notes
We're planning to upgrade the existing loe-coe Streamlit app. At a high level, the singular Streamlit app will be replaced with at least two more traditional apps: React and DRF.
Frontend Component(s)
- Currently, the frontend components are builtin with Streamlit.
- The new frontend will be React in the style of SWC, ORSANCO, and CSDP.
- This change will facilitate the addition of existing design components such as
- OpenLayers 2D maps
- Cesium 3D maps
- ApexCharts
- Input forms (for "run" or "scenario" management)
- Run Status tracking/polling
Backend Component(s)
The switch from Streamlit to React necessitates a dedicated API in the backend and DRF is a natural choice.
- Database integrations might be tricky. I'm not sure what existing databases are in use (probably SQLite). This will have to be handled carefully.
- Run management similar to SWC would probably be best.
- Azure might not be necessary.
- We could just use the database, then have a runner/AI Engine somewhere (MSI Server?) watch for new runs to start.
- Poll for run finished to insert results, or as part of the spawned process (some py script), that can go into the database and modify the running status (or make a call to the API).
- Send notification (email, similar to deepvibe) when run status changes/is finished.